package it.kion.util.ui.ulog2.views;

import it.kion.util.ui.ulog2.ILoggingEventListener;
import it.kion.util.ui.ulog2.Log4jPlugin;

import org.apache.log4j.spi.LoggingEvent;

public class LoggingListener implements ILoggingEventListener {

	public LoggingListener() {
	}

	public void handleEvent(final LoggingEvent event) {
		Log4jView mainView = Log4jPlugin.getMainView();
		if (mainView != null
			&& mainView.getViewSite()!=null
			&& mainView.getViewSite().getShell()!=null
			&& mainView.getViewSite().getShell().getDisplay()!=null) {
			mainView.getViewSite().getShell().getDisplay().asyncExec(
					new Log4jTableAdderThread(event));
		}
	}

	public void handleClear() {
		Log4jView mainView = Log4jPlugin.getMainView();
		if (	mainView != null 
				&& mainView.getViewSite()!=null 
				&& mainView.getViewSite().getShell()!=null 
				&& mainView.getViewSite().getShell().getDisplay()!=null) {
			mainView.getViewSite().getShell().getDisplay().syncExec(
					new Runnable() {
						public void run() {
							Log4jView mainView = Log4jPlugin.getMainView();
							if (mainView != null && mainView.getTable() != null) {
								mainView.getTable().removeAll();
							}
						}
					});
		}
	}

}
